package com.zxy.ziems.server.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zxy.btp.common.response.PageResult;
import com.zxy.ziems.server.domain.Org;
import com.zxy.ziems.server.dto.OrgDto;
import com.zxy.ziems.server.dto.OrgQueryDto;
import com.zxy.ziems.server.dto.OrgTreeNode;
import com.zxy.ziems.server.vo.OrgVo;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 * @author bhg
 * @date 2023/3/9
 */
public interface OrgService {
    PageResult<OrgVo> pageList(OrgQueryDto orgQueryDto);


    void addOrUpdate(OrgDto orgDto);

    OrgVo detail(String orgId);

    List<OrgTreeNode> tree();


    /**
     * 查询子类
     * @param orgId
     * @return
     */
    List<OrgVo> getChildren(String orgId);

    /**
     * 删除
     * @param id
     */
    void deleteById(Serializable id);


    /**
     * 查询
     * @param id
     */
    Org getById(Serializable id);

    /**
     * 根据id查询列表
     * @param idList id类别
     * @return
     */
    List<Org> listByIds(Collection<? extends Serializable> idList);
}
